package com.guigu.tankai.service.impl;

import com.guigu.tankai.mapper.DfileMapper;
import com.guigu.tankai.mapper.DmoduledetailsMapper;
import com.guigu.tankai.pojo.Dfile;
import com.guigu.tankai.pojo.Dmodule;
import com.guigu.tankai.pojo.Dmoduledetails;
import com.guigu.tankai.service.DmoduledetailsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class DmoduledetailsServiceImpl implements DmoduledetailsService {

    @Autowired
    DmoduledetailsMapper dmoduledetailsMapper;
    @Autowired
    DfileMapper dfileMapper;

    @Override
    public int add(Dmoduledetails dmoduledetails) {
        return dmoduledetailsMapper.insert(dmoduledetails);
    }

    @Override
    public int insert_TK(List<Dmodule> list) {
        for (Dmodule ls : list) {
            Dmoduledetails dmoduledetails = new Dmoduledetails();
            dmoduledetails.setProductid(ls.getProductid());
            dmoduledetails.setProductname(ls.getProductname());
            dmoduledetails.setAmount(ls.getAmount());
            dmoduledetails.setParentid(ls.getId());

            Dfile dfile = new Dfile();
            dfile.setProductid(ls.getProductid());
            List<Dfile> dfiles = dfileMapper.list(dfile);
            dfile = dfiles.get(0);

            dmoduledetails.setSubtotal(ls.getAmount()*dfile.getCostprice());
            dmoduledetails.setType(dfile.getType());
            dmoduledetails.setDetailsnumber(dfile.getId());
            dmoduledetails.setProductdescribe(dfile.getProductdescribe());
            dmoduledetails.setAmountunit(dfile.getAmountunit());

            dmoduledetails.setResidualamount(null);
            dmoduledetails.setCostprice(dfile.getCostprice());
            dmoduledetailsMapper.insert(dmoduledetails);
        }
        return 1;
    }

    @Override
    public int Del(Integer id) {
        return dmoduledetailsMapper.del(id);
    }

    @Override
    public List<Dmoduledetails> selectBy(String id) {
        return dmoduledetailsMapper.selectBy(id);
    }


    @Override
    public List<Dmoduledetails> ChaWuLiao(String productid) {
        return dmoduledetailsMapper.ChaWuLiao(productid);
    }

    @Override
    public int limeng_UpDate_Dmoduledetails(Dmoduledetails dmoduledetails) {
        return dmoduledetailsMapper.updateByPrimaryKeySelective(dmoduledetails);
    }
}
